_p_o_r_t is the audio output port to which you want to write samples.
This is the returned value of an aaaallllOOOOppppeeeennnnPPPPoooorrrrtttt((((3333ddddmmmm)))) call.
_s_a_m_p_l_e_s is the buffer containing the samples.
_f_r_a_m_e_c_o_u_n_t is the number of sample frames that you want to write to the
audio port.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
aaaallllWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss transfers data to an audio port from the _s_a_m_p_l_e_s buffer.
aaaallllWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss blocks until _f_r_a_m_e_c_o_u_n_t sample frames have been written to
the port. If you do not wish to block, make sure that _f_r_a_m_e_c_o_u_n_t is less
than the return value of aaaallllGGGGeeeettttFFFFiiiillllllllaaaabbbblllleeee((((3333ddddmmmm)))).
The format of the audio data expected by aaaallllWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss depends upon the
configuration of the port. Each sample can be an 8-, 16-, or 32-bit
integer, or a single- or double-precision floating-point value or a block
of subcode data; see aaaallllSSSSeeeettttSSSSaaaammmmppppFFFFmmmmtttt((((3333ddddmmmm)))), aaaallllSSSSeeeettttFFFFllllooooaaaattttMMMMaaaaxxxx((((3333ddddmmmm)))) and
aaaallllSSSSeeeettttWWWWiiiiddddtttthhhh((((3333ddddmmmm)))) for a description of how these formats work. By default,
the sample format is 16-bit integer (short).
Within each sample frame, aaaallllWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss expects interleaved data. The
number of samples per sample frame varies according to the value
specified by aaaallllSSSSeeeettttCCCChhhhaaaannnnnnnneeeellllssss((((3333ddddmmmm)))). By default, the port accepts stereo data
(2 samples per frame).
Note that since an audio port contains an internal queue, samples written
to the port will not immediately come out the associated audio device or
devices. aaaallllGGGGeeeettttFFFFiiiilllllllleeeedddd((((3333ddddmmmm)))) will indicate how many samples are currently in
this queue. Also, aaaallllGGGGeeeettttFFFFrrrraaaammmmeeeeTTTTiiiimmmmeeee((((3333ddddmmmm)))) and aaaallllGGGGeeeettttFFFFrrrraaaammmmeeeeNNNNuuuummmmbbbbeeeerrrr((((3333ddddmmmm)))) provide
facilities for precise synchronization of audio and other media.
In order to achieve the best possible performance, aaaallllWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss does not
attempt to verify that _p_o_r_t or _s_a_m_p_l_e_s are valid. You should make certain
these values are valid before passing them as arguments to aaaallllWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss.
EEEEXXXXAAAAMMMMPPPPLLLLEEEE
The following code fragment opens an audio output port and writes a bit